There are storage apparatuses using storage media such as magnetic disks, magneto-optical disks, optical discs, and the like, and efforts are being made to increase their storage capacity. For increasing the capacity of such storage apparatuses, a technology called RAID (Redundant Arrays of Inexpensive Disks) that uses multiple storage media to constitute a storage apparatus is widely used.
In some storage apparatuses, multiple controller modules are provided in order to provide redundancy and thereby to improve the reliability, or in order to provide function distribution and thereby to increase the processing speed. Each controller module is configured to control the entire operations of the storage apparatus. In the storage apparatus, power control operation for controlling power ON and OFF of each of the multiple controller modules is performed.
There are known techniques for power control between a plurality of devices (see, for example, Japanese Laid-open Patent Publications No. 04-265624 and No. 2003-36660).
In order to maintain redundancy and function distribution, the power states of the controller modules of the storage apparatus need to be maintained consistent with each other. For example, when one controller module is in an ON state in which the controller module is supplied with power and is operating normally, the other controller module needs to be in the ON state as well. Similarly, when one controller module is in an OFF state, the other controller module needs to be in the OFF state as well.
However, in the case where, for example, a command for powering ON a controller module and a command for powering OFF a controller module are generated by the same power control operation, the power states of the controller modules of the storage apparatus might become inconsistent with each other. Further, this inconsistency might be difficult to be resolved.
More specifically, in some cases, multiple controller modules of a storage apparatus operate independently of each other. In such a case, for example, upon executing an OFF process of the controller modules so as to switch the power state of the storage apparatus from ON to OFF, if the controller modules are writing data from a cache memory to the storage, the controller modules are powered OFF after completion of the writing. However, since the amount of data to be written from the cache memory differs between the controller modules, the time taken to complete the writing may differ between the controller modules. This may cause power state inconsistency between the controller modules. The following describes occurrence of such power state inconsistency between controller modules with reference to FIG. 13.
FIG. 13 illustrates an example in which a power state inconsistency occurs between controller modules due to a power control operation. As illustrated in FIG. 13, in the case where the user performs a power control operation on controller modules 210a (CM#10) and 210b (CM#11) of a storage apparatus from an operation panel 250, if the power states of the controller modules 210a and 210b are inconsistent with each other (for example, if the controller module 210a is in an ON state and the controller module 210b is in an OFF state), recognition of the power control operation differs between the controller modules 210a and 210b. Then, the controller modules 210a and 210b are placed in different power states, which may result in malfunctioning of the storage apparatus.
More specifically, as illustrated in FIG. 13, the controller modules 210a and 210b are initially in the ON state. At this point, as illustrated in (o) of FIG. 13, in order to terminate operations of the storage apparatus, the user performs the first power control operation using the operation panel 250. Each of the controller modules 210a and 210b, which are in the ON state, recognizes the power control operation of (O) as a command for turning OFF its power. Thus, each of the controller modules 210a and 210b starts an OFF process of turning OFF its power. Then, as illustrated in (p) of FIG. 13, the OFF process in the controller module 210b is completed, so that the controller module 210b is powered OFF. On the other hand, at this point, the OFF process in the controller module 210a is delayed, so that the controller module 210a is in an OFF processing state.
Then, as illustrated in (q) of FIG. 13, while the controller module 210a is executing the delayed OFF process, the user performs the second power control operation so as to activate the storage apparatus. The controller module 210a in the OFF processing state recognizes the power control operation of (q) as an OFF command, and therefore continues the OFF process. On the other hand, the controller module 210b in the OFF state recognizes the power control operation of (q) as an ON command for turning ON its power, and therefore starts an ON process for turning ON its power. In this way, since the power states of the controller modules 210a and 210b do not match each other at the point of (q), recognition of the power control operation of (q) differs between the controller modules 210a and 210b. As a result, the states of the controller modules 210a and 210b become inconsistent with each other.
Then, as illustrated in (r) of FIG. 13, the ON process of the controller module 210b corresponding to the power control operation of (q) is completed. Thus, the controller module 210b is powered ON. Then, as illustrated in (s) of FIG. 13, the OFF process of the controller module 210b corresponding to the power control operation of (o) is completed. Thus, the controller module 210a is powered OFF. As a result, although the user performed the power control operation in (q) so as to activate the storage apparatus, an error event occurs in which while the controller module 210b is powered ON and activated, the controller module 210a is powered OFF and is not activated.
Then, as illustrated in (t) of FIG. 13, in order to resolve the power state inconsistency between the controller modules 210a and 210b and to power ON both the controller modules 210a and 210b, the user performs the third power control operation. The controller module 210a in the OFF state recognizes the power control operation of (t) as an ON command, and therefore starts an ON process. On the other hand, the controller module 210b in the ON state recognizes the power control operation of (t) as an OFF command, and therefore starts an OFF process. In this way, since the power states of the controller modules 210a and 210b do not match each other at the point of (t), recognition of the power control operation of (t) differs between the controller modules 210a and 210b. As a result, the state inconsistency between the controller modules 210a and 210b continues without being resolved.
Then, as illustrated in (u) of FIG. 13, the OFF process of the controller module 210b corresponding to the power control operation of (t) is completed. Thus, the controller module 210b is powered OFF. Then, as illustrated in (v) of FIG. 13, the ON process of the controller module 210a corresponding to the power control operation of (t) is completed. Thus, the controller module 210a is powered ON. As a result, although the user performed the power control operation in (t) so as to activate the storage apparatus, the error event continues without being resolved, in which while the controller module 210b is powered OFF and not activated, the controller module 210a is powered ON and activated.